package net.oschina.victor.service;

import java.util.List;
import java.util.Set;

import net.oschina.victor.entity.Resource;

public interface ResourceService {
	/**
	 * 保存资源信息
	 * 
	 * @param resource
	 * @return
	 */
	Resource saveResource(Resource resource);

	/**
	 * 删除资源信息
	 * 
	 * @param resourceId
	 */
	void deleteResource(Long resourceId);

	/**
	 * 通过资源Id查询资源信息
	 * 
	 * @param resourceId
	 * @return
	 */
	Resource findById(Long resourceId);

	/**
	 * 查询所有资源信息列表
	 * 
	 * @return
	 */
	List<Resource> findAll();

	/**
	 * 得到资源对应的权限字符串
	 * 
	 * @param resources
	 * @return
	 */
	Set<String> findPermissions(Set<Resource> resources);

	/**
	 * 根据用户权限得到菜单
	 * 
	 * @param permissions
	 * @return
	 */
	List<Resource> findMenus(Set<String> permissions);
}
